package com.nl.controller.web.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.nl.controller.web.bean.SmsCounty;
import com.nl.controller.web.bean.SmsMgrTemplateInfo;
import com.nl.controller.web.bean.SmsRule;
import com.nl.controller.web.bean.SmsUsers;

public interface SmsUserMapper {



    /**
     * 查询用户的信息
     * @param map
     * @return
     */

    List<SmsUsers> findUser(Map<String, Object> map);

    /**
     * 根据用户的编号查询用户的信息
     */

    List<SmsRule> findRuleNameByUserid(String userId);

    // 查询所有角色的信息

    /**
     * 查询所有角色的信息
     * @return
     */
    List<SmsRule> findRule(String duty);



    /**
     * 根据地市的id查询项目信息
     * @param cityId
     * @return
     */
    List<SmsMgrTemplateInfo> findMgrByCityId(@Param("cityId")String cityId,@Param("duty")String duty,@Param("msisdn")String msisdn);

    /**
     * 获取用户id
     * @return
     */
    String findMaxUserId();

    /**
     * 添加用户
     * @param user
     * @return
     */
    int addUser(SmsUsers user);



    /**
     * 添加用户和角色的对应关系
     * @param map
     * @return
     */
    int addUserRole(Map<String, Object> map);



    /**
     * 根据用户的编号查询用户的信息
     * @param userId
     * @return
     */
    SmsUsers findUserByUserId(String userId);

    /**
     * 修改用户
     * @param user
     * @return
     */
    int modifyUser(SmsUsers user);

    /**
     * 删除用户角色
     * @param userId
     * @return
     */
    int deleteRoleByuserId(String userId);

    /**
     * 删除用户
     * @param userId
     * @return
     */
    int deteteUser(String userId);

    /**
     * 检验账号是否存在
     * @param msisdn
     * @return
     */
    String selectMsisdn(String msisdn);

    /**
     * 查询项目对应的项目管理员的手机号码
     * @param mgrId
     * @return
     */
    List<SmsUsers> getMsisdn(String mgrId);

    /**
     * 根据地市的id查询扩展码信息
     * @param cityId
     * @return
     */
    List<String> findExtIdByCityId(String cityId);
    
    /**
     * 根据地市的id查询区县信息
     * @param cityId
     * @return
     */
    List<SmsCounty> findCountyByCityId(String cityId);
    List<SmsCounty> findJFCountyByCityId(String cityId);
    
    List<SmsMgrTemplateInfo> findMgrByCountyId(@Param("countyId")String countyId,@Param("duty")String duty,@Param("msisdn")String msisdn);
    List<String> getCountyName(List<String> list);
    /**
     * desc:获取项目名称是否存在
     * @author syl
     * @Date 2019年7月31日 下午2:28:30
     * @param mgrName
     * @return
     */
    int getMgrName(String mgrName);
    /**
     * 根据地市编码查询该地市下地市管理员
     * @author zhangh
     * @Date 2019年9月11日10:03:38
     * @param cityId
     * @return
     */
    List<SmsUsers> findCityUsersbyCityId(@Param("cityId")String cityId);
    
    /**
     * 根据地市编码查询该地市下地市领导
     * @author zhangh
     * @Date 2019年9月11日10:10:35
     * @param cityId
     * @return
     */
    List<SmsUsers> findCheckUsersbyCityId(@Param("cityId")String cityId);

    /**
     * 查询盱眙供电局领导列表
     * @return
     */
	List<SmsUsers> findXuYiSubCheck();
    
}
